package com.tk.exam.mapper;

import com.tk.exam.domain.TkExamInfo;
import com.tk.exam.domain.TkExamInfoExample;
import java.util.Date;
import java.util.List;
import java.util.Set;

import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.session.RowBounds;

public interface TkExamInfoMapper {
    int countByExample(TkExamInfoExample example);

    int deleteByExample(TkExamInfoExample example);

    int deleteByPrimaryKey(Integer id);

    int insert(TkExamInfo record);

    int insertSelective(TkExamInfo record);

    List<TkExamInfo> selectByExampleWithRowbounds(TkExamInfoExample example, RowBounds rowBounds);

    List<TkExamInfo> selectByExample(TkExamInfoExample example);

    TkExamInfo selectByPrimaryKey(Integer id);

    int updateByExampleSelective(@Param("record") TkExamInfo record, @Param("example") TkExamInfoExample example);

    int updateByExample(@Param("record") TkExamInfo record, @Param("example") TkExamInfoExample example);

    int updateByPrimaryKeySelective(TkExamInfo record);

    int updateByPrimaryKey(TkExamInfo record);

    TkExamInfo selectOneLessEqualNowTime(@Param("classId") Integer classId,@Param("now") Date now);

    TkExamInfo selectOneMoreNowTime(@Param("classId") Integer classId,@Param("now") Date now);

    TkExamInfo selectOneByClassIdsAndTypeASC(@Param("classIds") Set<Integer> classIds, @Param("status") Byte status);

    TkExamInfo selectOneByClassIdsAndTypeDESC(@Param("classIds") Set<Integer> classIds, @Param("status") Byte status);
}